package com.toune.dltools

import android.graphics.Color
import java.lang.StringBuilder

/**
 * @Author Dong Lei
 * @Date 2020/12/8 0008-下午 14:18
 * @Info 描述：颜色相关工具类
 */
object DLColorTool {
    val colorDatas = arrayListOf<String>(
        "0",
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7",
        "8",
        "9",
        "A",
        "B",
        "C",
        "D",
        "E",
        "F"
    )

    fun randomColor(): String {
        var sb = StringBuilder()
        sb.append("#")
        for (index in 0..5) {
            var random = (0..15).random()
            sb.append(colorDatas[random])
        }
        return sb.toString()
    }

    /**
     * 给颜色加上透明度
     */
    fun transColor(percent: Int, color: String): String {
        val colorSb = StringBuilder()
        when (100 - percent) {
            100 -> colorSb.append("00")
            99 -> colorSb.append("03")
            98 -> colorSb.append("05")
            97 -> colorSb.append("07")
            96 -> colorSb.append("0A")
            95 -> colorSb.append("0D")
            94 -> colorSb.append("0F")
            93 -> colorSb.append("12")
            92 -> colorSb.append("14")
            91 -> colorSb.append("17")
            90 -> colorSb.append("1A")
            89 -> colorSb.append("1C")
            88 -> colorSb.append("1E")
            87 -> colorSb.append("21")
            86 -> colorSb.append("24")
            85 -> colorSb.append("26")
            84 -> colorSb.append("29")
            83 -> colorSb.append("2B")
            82 -> colorSb.append("2E")
            81 -> colorSb.append("30")
            80 -> colorSb.append("33")
            79 -> colorSb.append("36")
            78 -> colorSb.append("38")
            77 -> colorSb.append("3B")
            76 -> colorSb.append("3D")
            75 -> colorSb.append("40")
            74 -> colorSb.append("42")
            73 -> colorSb.append("45")
            72 -> colorSb.append("47")
            71 -> colorSb.append("4A")
            70 -> colorSb.append("4D")
            69 -> colorSb.append("4F")
            68 -> colorSb.append("52")
            67 -> colorSb.append("54")
            66 -> colorSb.append("57")
            65 -> colorSb.append("59")
            64 -> colorSb.append("5C")
            63 -> colorSb.append("5E")
            62 -> colorSb.append("61")
            61 -> colorSb.append("63")
            60 -> colorSb.append("66")
            59 -> colorSb.append("69")
            58 -> colorSb.append("6B")
            57 -> colorSb.append("6E")
            56 -> colorSb.append("70")
            55 -> colorSb.append("73")
            54 -> colorSb.append("75")
            53 -> colorSb.append("78")
            52 -> colorSb.append("7A")
            51 -> colorSb.append("7D")
            50 -> colorSb.append("80")
            49 -> colorSb.append("82")
            48 -> colorSb.append("85")
            47 -> colorSb.append("87")
            46 -> colorSb.append("8A")
            45 -> colorSb.append("8C")
            44 -> colorSb.append("8F")
            43 -> colorSb.append("91")
            42 -> colorSb.append("94")
            41 -> colorSb.append("96")
            40 -> colorSb.append("99")
            39 -> colorSb.append("9C")
            38 -> colorSb.append("9E")
            37 -> colorSb.append("A1")
            36 -> colorSb.append("A3")
            35 -> colorSb.append("A6")
            34 -> colorSb.append("A8")
            33 -> colorSb.append("AB")
            32 -> colorSb.append("AD")
            31 -> colorSb.append("B0")
            30 -> colorSb.append("B3")
            29 -> colorSb.append("B5")
            28 -> colorSb.append("B8")
            27 -> colorSb.append("BA")
            26 -> colorSb.append("BD")
            25 -> colorSb.append("BF")
            24 -> colorSb.append("C2")
            23 -> colorSb.append("C4")
            22 -> colorSb.append("C7")
            21 -> colorSb.append("C9")
            20 -> colorSb.append("CC")
            19 -> colorSb.append("CF")
            18 -> colorSb.append("D1")
            17 -> colorSb.append("D4")
            16 -> colorSb.append("D6")
            15 -> colorSb.append("D9")
            14 -> colorSb.append("DB")
            13 -> colorSb.append("DE")
            12 -> colorSb.append("E0")
            11 -> colorSb.append("E3")
            10 -> colorSb.append("E6")
            9 -> colorSb.append("E8")
            8 -> colorSb.append("EB")
            7 -> colorSb.append("ED")
            6 -> colorSb.append("F0")
            5 -> colorSb.append("F2")
            4 -> colorSb.append("F5")
            3 -> colorSb.append("F7")
            2 -> colorSb.append("FA")
            1 -> colorSb.append("FC")
            0 -> colorSb.append("FF")
        }
        return colorSb.append(color).toString()
    }

}